﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSharpAttributeTeach
{
    /// <summary>
    /// 特性的使用快速体验
    /// </summary>
    public class ReviewAttribute : Attribute
    {
        public void Test()
        {
            MyClass myClass = new MyClass();

            myClass.Content = "这个是特性内容的学习";

            myClass.TextContent = "这个是正在使用的属性";

            myClass.InsertContent("");

            myClass.InsertTextContent("");
        }
    }

    /// <summary>
    /// 常见的系统特性1：Obsolete（警告提升作用）
    /// </summary>
    public class MyClass
    {
        [Obsolete("该属性已过时，请使用新的属性：TextContent")]
        public string Content { get; set; }

        public string TextContent { get; set; }

        [Obsolete("该方法已过时，请使用新的方法：TextContent")]
        public int InsertContent(string txt)
        {
            //在这里编写业务逻辑
            return 1;
        }

        public int InsertTextContent(string txt)
        {
            //在这里编写业务逻辑
            return 1;
        }
    }

    /// <summary>
    /// 常见的系统特性2:可序列化标记
    /// 如果没有这个标记，我们是不能使用对象序列化方法保存这个对象的
    /// </summary>
    [Serializable]
    public class Equipment
    {
        public int EquipmentId { get; set; }
    }
}
